package br.com.ava.core.fornecedor;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import br.com.ava.core.pessoa.PessoaJuridica;

@Entity
@Table(name = "fornecedor")
@PrimaryKeyJoinColumn(name = "idpessoa")
@SuppressWarnings("serial")
public class Fornecedor extends PessoaJuridica {

	private Integer idFornecedor;
	private String contato;

	public Fornecedor() {

	}

	public Fornecedor(String nome, String telefone, String email,
			String endereco, String razaoSocial, String cnpj, String contato) {
		super(nome, telefone, email, endereco, razaoSocial, cnpj);
		this.contato = contato;
	}

	@SequenceGenerator(name = "idfornecedor_seq", sequenceName = "idfornecedor_seq", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "idfornecedor_seq")
	@Column(name = "idfornecedor")
	public Integer getIdFornecedor() {
		return idFornecedor;
	}

	public void setIdFornecedor(Integer idFornecedor) {
		this.idFornecedor = idFornecedor;
	}

	@NotNull
	@Size(max = 45)
	@Column(name = "contato", nullable = false)
	public String getContato() {
		return contato;
	}

	public void setContato(String contato) {
		this.contato = contato;
	}
}
